BBSysmon  v0.8
description
BBSysmon is a system monitor plugin for Blackbox for Windows . It allows you to monitor various system resources.  These monitors include: 
  • CPU percentage used
  • RAM percentage used
  • Swap percentage used
  • Drive space availible - any drive letter except Floppys or CDRoms.  Mapped drive letters work.
  • Uptime in 3 formats:  0w 0d 0h 0m, 0d 0h 0m, 0h 0m
  • IP address of the first adapter
  • Workstation name
  • Name of the user logged in

    BBSysmon v0.8 requires Blackbox for Windows 0.0.90 or later.

  • revision history

    BBSysmon 0.8 (2003-08-14) / Mortar

  • Fixed the swap space issue, where swap would not show for alot of people.
  • Added a window auto-resizer.
  • Added a percentage padder.
  • Added a justification option for text output(left/center/right).
  • Added .rc config options for font, fontHeight, textColor.
  • Now uses BlackBox .9x API for reading config files
  • Added support for for some xoblite features.
  • More multi-monitor friendly.
  • BBSysmon 0.7 (2003-06-11) / Mortar

  • Added a swap percentage counter as '%S'.
  • Added support for a high resolution uptime counter. Hopefully this will fix the 49.5 day overflow bug.
  • Added BBSlit support.
  • Added windowStyle config to .rc and righ click menu.
  • BBSysmon 0.6 (2003-04-14) / ZenLC and Mortar

  • Second release
  • Fixed always ontop from not loading correctly from the RC file.
  • Added Transparency support.
  • Clean up of configuration input from thr RC file.
  • Reduced processor time greatly.
  • Added support for multiple drives.
  • Changed the way uptime is configured.
  • Seperated user name and computer name from the same identifier.
  • Much better defaults when no RC file is found.
  • Saves an RC file if no RC is found, so reloading can be used without a restart.
  • BBSysmon 0.1b (2003-04-04) / ZenLC and Mortar

  • Original release
  • future releases?
  • Swap memory percentage used.
  • Some battery counters for laptop users.
  • Multiple adapter support for more IP's.
  • Possibly some network counters. Maybe make it a seperate plugin.
  • Some graphic modes, displaying meters.
  • known issues
  • No known issues, but if anyone finds a bug, or discovers an issue, please let me know. I don't have a windows 9x or ME machine to test anything, so if any user using one of those systems has a problem, let me know, and I will try to work with you.
  • license information
    © 2003 Brad Bartolucci [Mortar], Mike Busch [ZenLC] 

    BBSYSMON IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF THE AUTHOR OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    initial setup

    To load BBSysmon you simply need to add the relative path of the plugin (from your Blackbox directory) to the Blackbox configuration file plugins.rc (located in the Blackbox directory). For example, if you installed Blackbox into c:\Blackbox, and BBSysmon.dll is located in c:\Blackbox\plugins\BBSysmon\, you should add the line...

    plugins\BBSysMon\BBSysMon.dll
    for when you are not loading the BBSlit plugin. Or...
    &plugins\BBSysMon\BBSysMon.dll
    for when loading it with or in the BBSlit plugin.

    ...to plugins.rc. Simple, eh? :) Make sure to note the '&' at the beginning of the second load line.

    You should also have a look at the bbsysmon.rc file after you load the plugin, in case there are any settings you would want to customise. The file will be saved if there is no file found.  You can access this file by right clicking on the plugin and choosing the "Settings" submenu, then choose "Edit Settings".  These settings are shown below.

    how to use BBSysmon...

    Mouse Input

    Once the plugin is loaded, not many things can be done with a simple click on the bbsysmon window.  This will change:

    Left Click  none
    Left Click + Ctrl   none
    Middle Click  none
    Right Click  opens configuration menu 
    Right Click + Ctrl   none

    The Menu

    The plugin menu let's you change or select various things, and most should be self-explanatory. However, there is one submenu worth mentioning - the "Settings" submenu.

    This submenu let's you "Save Settings" (current) to file, or "Reload Settings" that you have edited. These are important because a) BBSysmon only writes settings when you tell it to, or on plugin shutdown, and b) you do not need to reconfigure bb4win in order to have BBSysmon reload settings from the bbsysmon.rc file.  One more thing to note.  If you change any of the settings, or move the window, you may want to choose "Save Settings", otherwise when you choose "Reload Settings" BBsysmon will go back to the last saved configuration.

    Keyboard Input

    None.

    Miscellaneous Notes  

    Many of the RC settings have changed.  Some more may be added. 

    bbsysmon.rc settings

    If a configuration file for some reason (e.g. you deleted it <g>) can not be found at startup (BBSysmon will first search for it in the same directory as the plugin, then in the Blackbox directory), BBSysmon will automatically create one for you in the same directory as the plugin.  For now, most settings are configured from the rc file.

    bbsysmon.x: 0  X position of the sysmon 
    bbsysmon.y: 895  Y position of the sysmonr
    bbsysmon.width: 40  Width of the sysmon window
    bbsysmon.height: 30  Height of the sysmon window 
    bbsysmon.alwaysontop: true  Tells BBsysmon to be ontop of all windows 
    bbsysmon.transparency: false  Tells BBsysmon to use the alpha value for tranparency opacity 
    bbsysmon.alpha: 160  Sets the tranparency level. 0-255, 0 being completely transparent 
    bbsysmon.snapwindow: true   Tells BBsysmon to snap to the edges of the screen. 
    bbsysmon.pluginToggle: true   Tells BBSysmon to hide with other plugins.
    bbsysmon.windowStyle: label Tells BBSysmon which, (one of label, labelWindow, or clock), style definition to use for inner gradient.
    bbsysmon.justification: center Defines text justification in the window. (left/center/right)
    bbsysmon.autoResize: true If set true, BBSysmon will resize the window if it is too small for the text output. If the window is bigger than it needs to be, BBSysmon will not make the window smaller.
    bbsysmon.padPercentages: true If set true, the percentage output will look like, "01%", intead of, "1%". This helps to keep the string from resizing, and moving stuff around. And to keep from annoying you. ;)
    bbsysmon.inSlit: true Tells BBSysmon to reload/load in/out of the slit. Only works if the BBSlit plugin is loaded in the plugins.rc file.
    bbsysmon.strFormat: %C - %R This defines how BBSysmon will display it's counters.
    bbsysmon.textColor: #696969 This defines a color value to the font. If left blank, then the color value will be read from the current style based on "bbsysmon.windowStyle:" setting.
    bbsysmon.fontHeight: 12 Defines the font size. If left blank, then the font size will be read from the current style based on "bbsysmon.windowStyle:" setting. NOTE: Some fonts can not be displayed at certain sizes, so the next closest size will be used.
    bbsysmon.font: arial Defines the font to be used. If left blank, then the font will be read from the current style file.

    Counter definitions for strFormat: CASE SENSITIVE

    General: Any of the following can be used once each.
    %C Percent of used CPU time
    %R Percent of used RAM
    %S Percent of used SWAP
    %P IP address of first found adapter
    %N Name of the user currently logged in
    %W Workstation name, or computer name

    Uptime: Only one of the following three can be used at once.
    %UW weeks is master uptime counter i.e. 0w 0d 0h 0m
    %UD days is master uptime counter i.e. 0d 0h 0m
    %UH hours is master uptime counter i.e. 0h 0m

    Drive spaces: Any 2 letter combination can only be used once each.  Any number of drives can be monitored at once.   DO NOT SPECIFY NON HARD DRIVE LETTERS.  Floppy drives and cd rom drives are currently not supported.  They will work, but will cause those devices to keep spinning every 20 seconds.  I will not take responsibility for what it may do.  Mapped drive letters should work.
    %DC Drives space availible for drive C:\
    %DD Drives space availible for drive D:\
    %DE Drives space availible for drive E:\
    .
    .
    .
    %DZ Drives space availible for drive Z:\

    The '%' is removed from the string in all cases.  '\n' Will insert a line break or new line.  '\t' Will insert a tab.  All other characters are displayed as regular characters.  Never put more than one '%' sign next to each other i.e. '%%'.  Bad things will happen, and don't say I didn't warn you.  :)

    Please note that BBSysmon automatically saves the current running configuration when you quit or restart Blackbox, overwriting the previous contents of the file. If you want to change these values and make BBSysmon read them again, edit the file, then save the file, and then select "Reload Settings" from the plugin's "Settings" submenu.

    bbsysmon bro@ms

    @BBShowPlugins  Standard BB bro@m to show all plugins
    @BBHidePlugins  Standard BB bro@m to hide all plugins 

    @BBSysMonAbout  Shows the about window 

    @BBSysMonPluginToggle  Toggles whether BBSysmon hides with other plugins 
    @BBSysMonOnTop  Toggles whether or not BBSysmon is always ontop 
    @BBSysmonEditRC  Opens the BBSysmon's RC file for configuration 
    @BBSysmonReloadSettings  Tells BBSysmon to reload settings from the RC file
    @BBSysmonSaveSettings  BBSysmon will save currently loaded settings. 

    acknowledgements
    Special thanks to all in the #bb4win channel that contributed.  If it was not for your love this plugin would never had gotten started.  :)